﻿using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.ServiceModel.Activation;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using Ninject;
using Ninject.Web.Common;
using Ninject.Extensions.Wcf;
using WebServices.Infrastructure;


namespace WebServices
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801

    public class Global : NinjectHttpApplication
    {
        //public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        //{
        //    filters.Add(new HandleErrorAttribute());
        //}

        //public static void RegisterRoutes(RouteCollection routes)
        //{
        //    /*routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        //    routes.MapRoute(
        //        "Default", // Route name
        //        "{controller}/{action}/{id}", // URL with parameters
        //        new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        //    );*/

        //}

        //protected void Application_Start()
        //{
        //    AreaRegistration.RegisterAllAreas();

        //    /*// Use LocalDB for Entity Framework by default
        //    Database.DefaultConnectionFactory = new SqlConnectionFactory(@"Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True");

        //    RegisterGlobalFilters(GlobalFilters.Filters);
        //    RegisterRoutes(RouteTable.Routes);*/

        //    RouteTable.Routes.Add(new ServiceRoute("SondageService", new NinjectWebServiceHostFactory(), typeof(ExaPlanningService)));

        //    RegisterDependencyResolver();

        //}

        //private void RegisterDependencyResolver()
        //{
        //    var kernel = new StandardKernel(new ServiceModules());

        //    DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
        //}

        protected override IKernel CreateKernel()
        {
            return new StandardKernel(new ServiceModules());
        }
    }
}